Data storage devices used with computers use various techniques for storing the data including optical, magnetic and optomagnetic methods. The following will focus on magnetic disk drives for simplicity, but the invention is not limited to use with magnetically stored data.
Data in magnetic disk drives is recorded in concentric, radially spaced tracks arranged on the planar surfaces of one or more disks. Magnetic films on the disks are used to record bits of information in the form of magnetic domains. When operating the disks are rotated on a spindle and magnetic heads are mechanically positioned over the tracks to read and write data from the disks. Permanent servo information is typically written on the disk at the time of manufacture that allows the system to ascertain the radial and circumferential position of the head within certain limits. The tracks are typically subdivided into many sectors that can be read and written independently.
In addition to the permanent servo information, magnetic signals are written on the disk to record various information for users. Special sync fields are included with the data to aid detecting the starting positions. A sync field typically is architected at the start of the sector. The data is recorded in special patterns that aid in the detection and recovery from errors caused by noise, magnetic defects, and so forth. For example, channel codes are mappings of data bits into symbols that avoid certain characteristics in the bit-stream of symbols that make recovery of the data bits more difficult. In addition, parity frames and error correction code (ECC) blocks are used to detect and correct various bit errors. When errors are encountered that cannot be corrected by these initial error correction techniques, a more extensive data recovery procedure (DRP) is invoked.
In a magnetic data recording device the data channel is the portion of the system responsible for decoding the information recorded in the signals read from the disk. The analog signal is first converted into digital form before being fed through the channel detector. The detector typically uses Partial Response Maximum Likelihood (PRML) principle to convert the string of digitized voltage values into binary data bits. The typical channel hardware can accept variables or parameters that act to modify the way the raw data stream is decoded. Unwanted variations in the amplitude, frequency, phase, resolution and overwrite properties can result in corruption of the written data. Some errors are permanent while others are transient. Re-reading a sector during data recovery procedure (DRP) requires a relatively large amount of time because a full rotation of the disk is needed before the sector comes back around under the head. Although a sector may be re-read many times during DRP, minimizing the number of re-reads is clearly desirable.
U.S. Pat. No. 6,937,415 (Aug. 30, 2005) to Galbraith, et al. describes the use of a sample buffer to store problem data for analysis during a data recovery procedure (DRP). The data in the buffer can be repeatedly processed during the DRP without having to re-read the sector a third time. However, the data in the buffer can be used for characterization of error information for the purpose of enhancing the effectiveness of a subsequent third (or more) re-readings. Using the data stored in the buffer enables data recovery without identification of a sync field and enables DRP to use changed channel data detection settings to aid in recovering the data. Adaptive equalization is used to enhance recovery during a subsequent re-read of the data sector; and extraction of timing information to allow introduction of timing loop changes during a re-read to offset phase or frequency related timing errors. A procedure involving movement of a pointer into the buffer to allow the data to be correctly framed and read with ECC is described. The '415 patent also notes that the buffer can be used to accumulate data from several different readings of the problem sector in effect averaging the data from multiple reads. By accumulating the results of more than one read operation some or all of the noise can be averaged out.